package com.feature50.clarity.formui;

import com.feature50.clarity.FormException;

import java.io.File;
import java.io.InputStream;

public interface FormUILoader {
    /**
     * Load a {@link FormUI} based on the passed key. Implementators are encouraged, but not required, to support the convention
     * described in {@link com.feature50.clarity.ResourceLoader#getPackageAwareResourceName(String)}
     *
     * @param key
     * @return
     * @throws FormException if some sort of error prevented the proper loading of the FormUI
     */
    public FormUI loadFormUI(String key) throws FormException;
}
